@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@P1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} D:M |||DDOS DOSDOS SYS }}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED011 FREE SECTORS COPYING---D2:HELP4}# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 2.?}D2:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 144ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4utuYINTO OTHER PROGRAMS.\}@BIT IS NECESSARY TO HAVE AD'GOSUB 30000' AFTER THEF!!STRING VARIABLES AND BEFOREHTHE CONSTANTS SO THE]} THEJCUSTOMIZING VARIABLES ANDLCONSTANTS CAN BE DEFINED.STRING VARIABLES;@@,LABEL^};@0,TEMPORARY;@,FIELD NUMBER;@,TODAY'S DATE;@,DATE;@_},USER INPUT;@,FILE NAMEXb INITIALIZE THE CUSTOMIZINGdVARIABLES AND CONSTANTSfl B`} "CONSTANTS$>#6-#NUMBER OF RECORDS\6-%&@KEY ENDp&6-@&PROMPTING Xa} POSITIONr&6-@&PROMPTING Y POSITION IREC=CURRENT RECORD NUMBERISRT=INSERTION LOCATION NFLD=NUMBERb} OF DATA FIELDSF=DATA FIELD INDEXINITIALIZE MAIN PROGRAM + APGET DATE Ac}" CHECK DATA TABLEMAIN PROGRAM AUMENU +"@AFETCH d}"@A CREATE""@A`"DESCRIBE!A " NO DATA, FETCH BEFORE Se}EARCHING. 6 BRETURN TO CONT> A@CONTINUE CHECKINGT"@APSTOREh "@f}AP DELETEr"@AEDIT|!"@A@!INSPECT FETCH AE A Sg}TORE A@ A CREATE Ap& A: DELETEN Bb Al EDITv Bh} A SCAN A AFILE DESCRIPTION B% ADISPLAY DRIVi}ER$-@5@$DISPLAY IREC 6- # B0# ""A!"j}A `SKIP  -"! .*  7<,4 A `> H $EVALUATE k}DATA TABLE6-FIELD NUMBER#""A#pEND O:,!@A#pl} END6-%@O:,"A"P# OKAY BAD SEQUENCE IN PROGRAM  DATA TABLE. PLEASE CORRECT.m} READ  BUT  WAS EXPECTING $ &B  6-ALL OKAYV $` b FIELD UPDATE DRIVERd t -%@n}ENTRY~ !!   CLEAR ERRORS (IF ANY) ,, $  ,, $ o}  -   FIELD,DATA:  A& A%  A(UPDATE RECOp}RD (6-@(RESERVED FIELD# RECORD  6.UPDATED FIELD #  A(UPDATE RECORD &6-@&RESERVED q}DATE RECORD  6.TODAY'S DATE  A(UPDATE RECORD $( * FIELD INPUT, . FORMAT IS F,DDDDDDDDr}D...D0 WHERE F=FIELD NUMBER2 AND DD..D=DATA FOR FIELD4 IF F=0 THEN D IS IGNORED6 !!IF D OR ,D IS NOT PROVIDED,s}8 THEN BLANKS ARE ASSUMED.: < '6-6.00'FIELD NUMBER> F B:," A'P #6-@t}#CHARACTER COUNTERZ 7<,4,A'\ 7<,20A'^ 7<,39A'd 6-%@n B:,A&Pu}x #!@A'#BAD FIELD &6-&@&DIGIT BEFORE COMMA #"A'#BAD FIELD !67@v},.!SINGLE-DIGIT !@ 6.7&@, !@A' !1-2 DIG $$ BAD FIELD NUMBER, TRY AGAIN   w} A&TRY AGAIN "6-P:A:7@<,,,"VALUE ""IF FIELD # ONLY, CLEAR FIELD (B:,%@(67%@,.x},  6.7%@, %!@6-%TOO BIG PRINT FN$,F;",";TMP$ INPUT LAB$ $  UPDATy}E FIELD #F WITH TMP$   A0GET FIELD DATA ""A)"BAD DATA $"A)$SKIP FIELz}D, ""FIRST, CLEAR FIELD IN RECORD6 67<,. CLEAR FIELD8 "A)LEN=1: 6- USE BINARY EXPANSION@ {} 6-END OF CLEARED AREAB &6-%@&NEXT CHAR TO CLEARD  6-%&AREA TO CLEARF  !6-J 67<,.7|}<,L  A(LOOP^ THEN UPDATE FIELDh 67<,.INTO RECORD $  RETRIEVE DATA FOR FIELD F }} A1 "@A0@ "@A0@ !A1 #B% " ~} "O:,$ ERROR IN FIELD DATA TABLE0 (( FIELD  IS MISSING OR OUT OF: ** "SEQUENCE IN THE PROGRAM DATA TABLE}D  NO ACTION TAKEN.N  BWAITX +b %6-%SET FLAG FOR RETURNv $RAM-->DISKETTE} @@, @TODAY'S DATE6 @RECORD COUNTh |** STORING } RECORDS ON DISKETTE.~ FILE: DATED 6-@ARRAY INDEX-@ 6.7, @} 6-%  6.MAKE CURRENT@&$DISKETTE-->RAM  @@} @DATE STORED*@RECORD COUNT\ p,, READING  RECORDS FROM DISKETTE.r FI}LE:z DATA STORED ON 6-@ARRAY INDEX-@@ 67,. 6-% }@$DATE ENTRY!! TODAY'S DATE (MM/DD/YY) $|~MENU PAGE +}  ""  Ġ    !!   }RECORDS    1.Fetch Data   2.Save Data !!  3.Create Records } !!  4.Delete Records   5.Edit Records &  6.Scan Records( 0##  } 7.File DescriptionD N V  SELECT ONE X A`INPUTb @AUl!@AU}$prGENERAL USER INPUTsB:,@Aa 6-@:,FIRST CHAR. @HAa}0!@WAa9 6-A:, Aa ERROR MUST BE A DIGIT PLEASE RE-ENTER A` }$6-DEFAULT=0.$dfCLEAR RECORDhx6. 6-@67%@,.6-@}$B:, Ae@$XZCREATE RECORD ENTRY\l6-RECORD NUMBERv AeCLEAR RECOR}D A DISPLAY A$FIELD ENTRY!Ap@MORECHECK FOR DUPLICATE KEY#6-}#EXPECTED RECORD # B5""As"ALL OKAY"@AtQUIT + ANS=1=CHANGE} KEY%6-%STILL CREATION MODE Ap@READY TO INSERT B@CHECK KEY VALUE""As}"ALL OKAY"@AtQUIT + ANS=1=CHANGE KEY%6-%STILL CREATION MODE Ap@} BdINSERTB$LNINSPECT RECORD (NOT USED)Pj t  AGET KEYB:,"}Ay B`RETRIEVE(#"Ay#NOT FOUND< AGET RECORDF +P A DI}SPLAYd AuKEY NOT FOUND B KEY NOT FOUND Aw@6$@BMOVE DAT$(IREC) INTO REC$D}T'6-@%+$+&@,,'INDEX^ 6.7,$  MOVE REC$ INTO DAT$(IREC)  '6-@%+$+&}@,,'INDEX& 67<%&@,.b $4!6!KEY ENTRY8!H!  ENTER KEY z!!$(#*# SCAN,#}Z# d# n# SCANx# AGET KEYz#B:,"$# B`RETRIEVE#!A#K}EY NOT FOUND# B KEY NOT FOUND#! A!GET RECORD 'IREC'# +$ A DISPLAY$ -"$ }ENTER + FOR FORWARD,$  - FOR BACKWARD6$  OR KEY@$B$B:,"$J$4+AT$4}-A^$ AKEY GIVEN$ FORWARD$"AAT END$6-%@NEXT RECORD$ AGET }RECORD%BACKWARD% "@A AT BGN%#6-&@#PREVIOUS RECORD% AGET RECORD'' }DELETE'.' 6' DELETE8' AGET KEYB'B:,"BL' B`RETRIEVEV'!B}`' B KEY NOT FOUND'RECORD FOUND' +' AGET RECORD' A DISPLAY( - (} ENTER Y TO DELETE((0YB<( BfDELETEF( B($))RETURN TO CONTINUE)})  TO CONTINUE")^)$**EDIT RECORD* + + EDIT + AGET KEY*+B:,"}$4+ B`RETRIEVE>+!BH+KEY NOT FOUNDR+ B KEY NOT FOUND+ KEY FOUND (IREC-TH }RECORD)+ AGET RECORD+ ++ A DISPLAY+ A$FIELD ENTRY+!B0MOR}E+REPLACE = DELETE, INSERT, 6-PRESERVE INSERT LOC, 6-EXPECTED RECORD #$, B5DUPLICATE KEY?.,} 6-RESTORE RECORD #8, 6-RESTORE INSERT LOC.`,"BOKAYj,"@BQUIT~, B}  ANS=1=CHANGE KEY, B@CHECK KEY VALUE,"BOKAY,"@BQUIT, B } ANS=1=CHANGE KEY,DELETE THEN INSERT,! Bf, B`GET NEW LOC., BdINSERT,$}..KEY NOT FOUND./ 6-PICK CLOSEST REC. / !6-:/$00FILE DESCRIPTION00 +}0  Š0 1 FILE NAME 1 RECORD LENGTH 1 NO.OF RECORDS }$1 B)FILE NOT LOADED.1 DATE WRITTEN L1 `1 KEY START j1 KEY LENGTH t1} ~1 NO.OF FIELDS 1 FIELD START END 1 FIELD START END 1 1"6-P:'@,"LEFT COLUMN}1!+$@, !6-%@1 6-%@ RIGHT COLUMN1-@1  1 6- B01  }1! 6- A0!FLD.F-->A,B1 6- B01  1 6- B01RIGHT COLUMN1!B'`1  } 1 6- B01  1! 6- A0!FLD.F-->A,B1 6- B01  1 6- B01} 16-%@1 1 ! 1 2 BRETURN TO CONTZ2$d2f2FILE NOT LOADEDh2x2!}B)2  (FILE NOT LOADED)2 2$22RIGHT-JUSTIFY 2-DIGITS22 @  2 "3$}44CHECK FOR DUPLICATE KEY44J4=EXPECTED RECORD NUMBER4...0 FOR CREATE OR4...EDITED RECORD NUMBER}446.7<,46-4 B`RETRIEVE4!"B7!NOTHING4"B7EXP4$$ KE}Y DUPLICATED AT RECORD #5 ENTER 1 TO CHANGE KEY 5  2 TO QUIT  5 A`GET ANSWER*5 @}B5p45!@B5p5$66CHECK FOR BAD KEY VALUE666-ANS=0=OKAY6$$7@<@},0 BB6'' KEY MUST START WITH A NON-BLANK6 ENTER 1 TO CHANGE KEY6  2 TO QUIT7 A`G}ET ANSWER 7 @B@`7!@B@`7$>>GENERAL DATA RETRIEVAL>>ENTER WITH KEY=KEY}$>RECORD LENGTH=RLEN>DATA ARRAY=DAT$>NO.OF RECORDS=NREC>KEY LENGTH=KLEN>KEY BEGINNING=KBGN>!!RETU}RN WITH DATA INDEX=IREC>>IF KEY NOT FOUND, IREC=0>AND ISRT=INSERT INDEXH?R?"Bc`FIRST\}?#6-@#BEGINNING OF LIST^? 6-END OF LISTf?BINARY SEARCH LOOPh?6-%P:+&,'@,j?6-%+$+&@},,KEYl?6-%&@z?PRINT J2,KEY$,DAT$(K1,K2)~?37<,Bb`?27<,Bb? BcA P}ERFECT MATCH?KEY$ IS BIGGER?Bc@NOPE?!6-%@!NEW BEGINNING? Bb0TRY AGAIN?KEY$ }IS SMALLER?Bc NOPE?6-&@NEW END?!Bb0AGAIN?NEW ITEM IS SMALLER?6-}&@?NEW ITEM IS BIGGER? NO FIND?6-J2=INSERT-1? Bc?FOUND AT J2? 6-@ 6-}RECORD NUMBER@#6-%@#INSERT LOCATION@$@@INSERT DATA RECORD@&@ INSERTING AT #(@ 6-}INSERTION LOCATION*@ 6-%@ RECORD COUNT8@+6-@%+$+&@,,+ENTRY LOC:@%6-@%+$+&@,},%END@@"BeAT ENDB@RECORD-MOVE LOOPD@6-%&@LAST CHARL@67<,.7&<&@,V@ 6-&}MOVE BACKWARDS`@BdPMOREt@INSERT NEW INFORMATION~@67<%&@,.@$@@DELETE RECORD} AT 'IREC'@@REV 9-15-81, EDBM14@@!BgA  DELETING #A"Bg(A(6-@%+$+&@},,(DELETE*A%6-@%+$+&@,,%ENDyA=RECORD STARTING CHAR#@y}B=RECORD ENDING CHAR#ByLAB$=DISPLAY LABELJyLy'F' CAN BE ANY INTEGER<98NyWHERE NN=F. INDICATE THEPyLAST} DATA STATEMENT WITHRyF=0 (IN THIS CASE, F<>NN)TyVyIF 'F' IS NEGATIVE, THEXyFIELD NUMBER WILL NOT BEZyBE }DISPLAYED.^y`yFIELDS F=98 AND F=99 AREbyRESERVED FOR AUTOMATICdyFIELD AND DATE RECORDING.fyIF YOU DO NOT }WISH THIShy FEATURE, SET A=0 FOR BOTH.rytySET X=0 TO SUPPRESS THEvyDISPLAY OF THAT FIELD.xySET A=0 TO SUPP}RESS THEzyUPDATE OF THAT FIELD.|y}y1,2,2,1,20,ś~y2,2,4,21,25,ЮϮy3,2,6,26,26,Лy4,21,6,27},30, Ӡy5,2,8,31,38,ʮy6,21,8,39,45,Šy7,2,10,46,53,ԛy8,21,10,54,61,כy9,2,12},62,80,ԛy-98,19,4,81,82,ěy-99,27,4,83,90,Λ|0,0,0,0,0,END D:CCFKKDATRLEJKEYJISRJJ_EFFLDDAY1FILELABFIL1NFIRENRERECFKDATRLEKBGKLEKEY@ }  }dnCCF PRINT ROUTINExTHIS IS A QUICK-AND-DIRTYROUTINE TO PRINT SELECTED PORTI }ONS OF THE DATA BASE.FILE "D:EPNT6.LST"SAVE "D:EPNT.BAS"DATE "05/10/81 "VARIABLES }9@,;@,DATE ON FILE!;@,!DATA FILE NAME ;@0, DISPLAY LABEL!;@ },!OUTPUT FILE FD BDEFINE CUSTOMSXZCONSTANTS\MAIN PROGRAM + }  CCF DATA BASE PRINT ! AE!GET DISKETTE DATA**** MAIN ENTRY LOOP ****  && ENTER O }UTPUT FILE DESCRIPTION   B#FIELDS$". 8 ENTER FIELD NUMBERSL-@V } . `j 68,-t ~ @@ @ @ DATA FROM  @ } FILE  @-@-@ 6-8, A0GET FIELD DATA A }GET RECORD( @7<, Z d @n x@ A0AND AGAIN.... }ALL THE CODE THAT FOLLOWSWAS ADAPTED FROM ROUTINESIN THE DATA BASE MANAGER PROGRAM  R }ETRIEVE DATA FOR FIELD F  A1 "@A0@ "@A0@ #B% " }  "O:,$ ERROR IN FIELD DATA TABLE0 (( FIELD  IS MISSING OR OUT OF: ** "SEQUENCE IN THE PROGRAM D }ATA TABLED  NO ACTION TAKEN.b %6-%SET FLAG FOR RETURNv $DISKETTE-->RAM  @@ } @DATE STORED*@RECORD COUNT\ p,, READING  RECORDS FROM DISKETTE }.r FILE:z DATA STORED ON 6-@ARRAY INDEX-@@ 67,. 6-% } @$@BMOVE DAT$(IREC) INTO REC$DT'6-@%+$+&@,,'INDEX^ 6.7, }$  MOVE REC$ INTO DAT$(IREC)  '6-@%+$+&@,,'INDEX& 67<%&@,.b $ N"N } ENTER #FIELDS W/LABEL OPT.$N*NTHIS ROUTINE IS UNIQUE TO,NTO THE PRINT ROUTINE.N2N 4N"" ENTER THE NUMB }ER OF FIELDS>N  FOR FIELD LABELSHNRNB:,!BZN \N#fN"pN! B }!-1=DONEzN .N BpN 6-A:,N$0u2uCUSTOMIZING VARIABLES4uDuEXECUTE A 'GOSUB 30000' }Nu AFTER THE STRING VARIABLESXuAND BEFORE THE CONSTANTS.uuTHE STRING VARIABLES AREuDIMENSIONED AS FOLLO }WS:uuDAT$(RLEN*MAX.RECORDS)uREC$(RLEN)uKEY$(KLEN)uuWHERE...uu6-@RECORD LENGT }Hu6-@KEY BEGINNINGu6-@ KEY LENGTHu6. D:SAMPLE.DATuu;AP,DATA 'FILE'v  };@, DATA 'RECORD' v;@ ,ACCESS KEYHvRv$yyFIELD DATA TABLEy"yFORMAT IS AS FOLLOW }S:,y311NN DATA F,X,Y,A,B,LAB$6yWHERE...8yNN=F=FIELD NUMBER:yX=DISPLAY X-COORDINATEyA=RECORD STARTING CHAR#@yB=RECORD ENDING CHAR#ByLAB$=DISPLAY LABELJyLy'F' CAN BE ANY INTEGER<98NyW }HERE NN=F. INDICATE THEPyLAST DATA STATEMENT WITHRyF=0 (IN THIS CASE, F<>NN)TyVyIF 'F' IS NEGATIVE, THEXy }FIELD NUMBER WILL NOT BEZyBE DISPLAYED.^y`yFIELDS F=98 AND F=99 AREbyRESERVED FOR AUTOMATICdyFIELD AND D }ATE RECORDING.fyIF YOU DO NOT WISH THIShy FEATURE, SET A=0 FOR BOTH.rytySET X=0 TO SUPPRESS THEvyDISPLAY O }F THAT FIELD.xySET A=0 TO SUPPRESS THEzyUPDATE OF THAT FIELD.|y}y1,2,2,1,20,ś~y2,2,4,21,25,ЮϮy }3,2,6,26,26,Лy4,21,6,27,30, Ӡy5,2,8,31,38,ʮy6,21,8,39,45,Šy7,2,10,46,53,ԛy }8,21,10,54,61,כy9,2,10,62,80,ԛy-98,19,4,81,82,ěy-99,27,4,83,90,Λ|0,0,0,0,0,END D2 }:EPNT.BASFLDDAY1FILELABFIL1NFIRENRERECFKDATRLEKBGKLEKEY@ 02/23/924BUTCHEEKS, BIG 100033660606/01/8017.500001/01/7801/01/82VERY LARGE EARS 0102/23/92CLAM,CATHY 100}044880809/01/8012.500010/01/7710/01/81PREFERS #2 PENCIL 0902/22/81SALMON,SALLY 100022550502/01/8125.000001/01/8103/0}1/81CONSIDER FOR MGR. 0902/22/81TROUT,TOMMY 100011220201/01/4507.850001/01/3706/01/83TRIPS ON OIL SLICKS0902/22/81}100 REM 110 REM CCF PRINT ROUTINE120 REM 130 REM THIS IS A QUICK-AND-DIRTY132 REM ROUTINE TO PRINT SELECTED134 REM PORTI}ONS OF THE DATA BASE.136 REM 200 REM FILE "D:EPNT6.LST"210 REM SAVE "D:EPNT.BAS"220 REM DATE "05/10/81 "400 REM 402 R}EM VARIABLES404 REM 410 DIM FLD(99)420 DIM DAY1$(8):REM DATE ON FILE430 DIM FILE$(14):REM DATA FILE NAME440 DIM LAB$(30)}:REM DISPLAY LABEL450 DIM FIL1$(14):REM OUTPUT FILE FD500 REM 510 GOSUB 30000:REM DEFINE CUSTOMS600 REM 602 REM CONSTANT}S604 REM 1000 REM 1002 REM MAIN PROGRAM1004 REM 1020 GRAPHICS 01022 PRINT 1024 PRINT "CCF DATA BASE PRINT"1026 PRINT }1028 GOSUB 4500:REM GET DISKETTE DATA1030 REM **** MAIN ENTRY LOOP ****1032 PRINT 1034 PRINT "ENTER OUTPUT FILE DESCRIPTI}ON "1036 INPUT FIL1$1040 GOSUB 20000:REM #FIELDS1060 IF NF=0 THEN END 1070 PRINT 1080 PRINT "ENTER FIELD NUMBERS"1100 F}OR F=1 TO NF1110 PRINT F;". ";1120 INPUT FF1130 FLD(F)=FF1140 NEXT F1150 OPEN #1,8,0,FIL1$1160 PRINT #11170 PRINT #1;"}DATA FROM ";DAY1$1180 PRINT #1;" FILE ";FILE$1190 PRINT #11200 REM 1210 FOR IREC=1 TO NREC1220 FOR FF=1 TO NF1230 F}=FLD(FF)1240 GOSUB 3000:REM GET FIELD DATA1250 GOSUB 8000:REM GET RECORD1300 REM 1320 PRINT #1;REC$(A,B);" ";1370 NEXT F}F1380 PRINT #11390 NEXT IREC1400 REM 1420 CLOSE #11490 GOTO 1030:REM AND AGAIN....2000 REM 2002 REM ALL THE CODE THAT }FOLLOWS2004 REM WAS ADAPTED FROM ROUTINES2005 REM IN THE DATA BASE MANAGER2006 REM PROGRAM2007 REM 3000 REM 3002 REM RE}TRIEVE DATA FOR FIELD F3004 REM 3020 IF F<=0 THEN 31003022 IF F=98 THEN 30403024 IF F=99 THEN 30403040 RESTORE 31100+F3}050 READ FX,X,Y,A,B,LAB$3060 IF F=ABS(FX) THEN RETURN 3100 REM ERROR IN FIELD DATA TABLE3120 PRINT "FIELD ";F;" IS MISSING} OR OUT OF"3130 PRINT "SEQUENCE IN THE PROGRAM DATA TABLE"3140 PRINT "NO ACTION TAKEN."3170 FX=0:REM SET FLAG FOR RETURN3}190 RETURN 4500 REM 4502 REM DISKETTE-->RAM4504 REM 4620 OPEN #1,4,0,FILE$4640 INPUT #1,DAY1$:REM DATE STORED4650 INPUT} #1,NREC:REM RECORD COUNT4700 PRINT 4720 PRINT "READING ";NREC;" RECORDS FROM DISKETTE."4722 PRINT "FILE:";FILE$4730 PRIN}T "DATA STORED ON ";DAY1$4800 K1=1:REM ARRAY INDEX4810 FOR I=1 TO NREC4820 INPUT #1,REC$4830 DAT$(K1)=REC$4840 K1=K1+RLE}N4850 NEXT I4880 CLOSE #14890 RETURN 8000 REM 8002 REM MOVE DAT$(IREC) INTO REC$8004 REM 8020 K1=1+(RLEN*(IREC-1)):REM} INDEX8030 REC$=DAT$(K1)8090 RETURN 8200 REM 8202 REM MOVE REC$ INTO DAT$(IREC)8204 REM 8220 K1=1+(RLEN*(IREC-1)):REM I }NDEX8230 DAT$(K1,K1+RLEN-1)=REC$8290 RETURN 20000 REM 20002 REM ENTER #FIELDS W/LABEL OPT.20004 REM 20010 REM THIS ROUT }INE IS UNIQUE TO20012 REM TO THE PRINT ROUTINE20014 REM 20018 PRINT 20020 PRINT "ENTER THE NUMBER OF FIELDS"20030 PRINT  }" FOR FIELD LABELS"20040 INPUT LAB$20050 IF LEN(LAB$)>0 THEN 2010020058 PRINT 20060 RESTORE 20070 READ FX,X,Y,A,B, }LAB$20080 IF FX<0 THEN 20000:REM -1=DONE20090 PRINT FX;".";LAB$20098 GOTO 2007020100 NF=VAL(LAB$)20110 RETURN REM PORTIt  QQQQQQQQQQ1Q1Q2Q2Q2Q2Q2Q2Q2Q2Q4Q4Q6Q6Q9Q9Q9Q10Q10Q20Q21Q22Q23Q37Q40Q40Q49Q4}9Q50Q50Q50Q50Q50Q57Q60Q60Q70Q71Q80Q99LABTMPFNDATEDAY1ANSFILENREKENKBGKLEXPYPANXIRERECFNFL}CKKKDATRLEJKEYJISRJJJK } } !"#$%&'()}*+,-./0123456789}:;<=>?@ABCDEFGH}IJKLMNOPQRSTUVWX}6-6-@'6-@36-AP?6-@K6-@W6-@c6-@o6-@{6-B}6-B06-A06-A`6-A 6-B@6-B`6-A6-B 6-@ '6-A0@36}-Ap@?6-A `K6-B@`W6-@c6-@o6-@{6-A16-Aa6-A6-A6-B} 6-Bb06-A#p'6-A$36-Bd?6-AtK6-BW6-AUc6-Bo6-A{6-B5}6-A6-B5pK6-A&6-Bf'6-B736-A'?6-A(K6-A)EDBM14, 9-15-81}V;@@,;@0,$;,+;,2;,9;,F;@,P BV6-\1 6-%&6-6-@#+' 1 }A"  +"A"A"A`!A " NO DATA,% FETCH B}EFORE SEARCHING! % > @T"APh"APr"A|"@A@ AE}  A@  Ap& :N b lv B  A}  B% #-@56- # ## ""A! "   }-! .*  7<,4 >   $ 6- #" " O:,!@ }  6-%O:,"A"PT BAD SEQUENCE IN PROGRAM7 DATA TABLE. PLEASET CORRECT. READ  BUT  !}WAS EXPECTING &B 6-V $` t X-%@/  X $ "}  V, $ 2-D  FIELD,DATA: H VA% '  6-6. 6-#6.#}'  $( <  6-6.00F  B:," A'P 6-Z 7<,4,A'\ 7<,20 ^ 7<,3$}9 d  6-%B:,A&Px !  6-& "   67,.!6.7&, A'  $$ %}BAD FIELD NUMBER, TRY AGAIN    -6-P:A:7<,,,B:,%-67%,.,  6.7%,!6-  $ &}   "  " 6 67<,. "A): 6-@ ' 6-6-%6-%&!!'6-J !67<,.'}7<,! A(^ h 67<,. $    "  "  !  #B%"(}  "O:,$ 0 (( FIELD  IS MISSING OR OUT OF: ** "SEQUENCE IN THE PROGRAM DATA TABLED & NO ACTI)}ON TAKEN.  +&6-v $F   F STORING  RECORDS ON DISKETTE.~F FILE: *}DATED "6-*-36.7,: B6-%F  6.&$ H H READING +} RECORDS FROM DISKETTE.rK FILE:% DATA STORED ON +6-3-:C67,.K6-%   $,}%! TODAY'S DATE (MM/DD/YY) %$|X+$  C  Ġ F X  -} ]!   RECORDS$ ' A  1.Fetch DataD ]  2.Save DataH $  3.C.}reate Records' E  4.Delete RecordsH a  5.Edit Records" >  6.Scan RecordsA a  /} 7.File DescriptionD    SELECT ONE  b   l ! $pB:,Aa 6-@:,0} @H !@W  6-A:, Aa+ MUST BE A DIGIT+ PLEASE RE-ENTER A` 1}$ 6-.$dx6. 6-'67%,.6-$'B:, Ae@$Xl 6- Ae   2} !  6- "As "  + 6-  "As "  + 6-3}  B$Lj   B:,"Ay "Ay<  + d Au  A4}w@6$@T6-%+$+&,,6.7,$ "6-%+$+&,,"67<%&,.b $4!H!  ENTER KEY !5}$(#Z#   SCAN z# B:,"$# # ! # # #S+ -) ENTER + FOR FORWARDB  6} - FOR BACKWARDS  OR KEY@$B$ B:,"$J$4+AT$4-A^$ A$$ "7} $ 6-%$ %% " % 6-&% '.'&  DELETE &B:,"BL' !B`8}' ''/+  -+ ENTER Y TO DELETE/( 0Y <( F( ($))  TO CONTINUE9}^)$* +  EDIT *+ B:,"$4+ !BR+ ++ +++  !B0:},- 6-6- 6-6--"Bj, " ~, , "B, " , ,, ! ;},   ,$./ 6-!6-:/$00@+$  Š' @ FILE NAME 1Y <}RECORD LENGTH 6 NO.OF RECORDS @ B)Y DATE WRITTEN L1T  KEY START 8 KEY LE=}NGTH ; T NO.OF FIELDS 1R FIELD START END 2 FIELD START END 5 @6-P:',J+$, R6-%>}1K 6-%-   6-$ /  56-9 ?6-C K  1 6- !B'`1L  6- ?}#  )6-- 36-7 ?  E6-I L 1 6-%1  ! 1   Z2$d2x2!B)2 @} (FILE NOT LOADED)2 2$22 @  2 "3$446.7<,6- 4 " 4 "A} 4$$ KEY DUPLICATED AT RECORD #5; ENTER 1 TO CHANGE KEY7  2 TO QUIT ; *5   45 ! B}5$66 6-7<,0 BB6'' KEY MUST START WITH A NON-BLANK65 ENTER 1 TO CHANGE KEY1  2 TC}O QUIT5  7   7 ! 7$>R?"Bc`\? 6-6-f?h?A6-%P:+&,',$6-%+$+&,,.6D}-%&A37<,Bb`?27<,Bb? Bc??Bc@? 6-%? ??Bc E}? 6-&? ! ?? 6-&??? 6-? Bc?? 6-@ 6-6-%@$@&@T F}INSERTING AT #6-&6-%66-%+$+&,,F6-%+$+&,,T"BeB@D@7 6-%&!67<,.7&<&,)6-&G}7BdPt@~@67<%&,.@$@@DELETE RECORD AT 'IREC'@@REV 9-15-81, EDBM14@@!H}BgA  DELETING #A"Bg(A(6-@%+$+&@,,(DELETE*A%6-@%+$+&@,,%END